package com.wcs.exam.controller.auth.req;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;

/**
 * <p>
 * Auth-用户信息-查看响应对象
 * </p>
 *
 * @author wcs
 * @since 2022-09-26
 */
@Getter
@Setter
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "Auth-用户信息-微信H5获取实名地址请求参数")
public class AuthUsersDetectAuthUrlReq implements Serializable {

    @Serial
    private static final long serialVersionUID = -594065842316823680L;

    @Size(max = 20, message = "user.users.real.name.length.error")
    @NotBlank(message = "user.users.real.name.not.null")
    @Schema(description = "真实姓名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String realName;

    @Size(max = 20, message = "user.users.id.card.length.error")
    @NotBlank(message = "user.users.id.card.not.null")
    @Schema(description = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String idCard;

    @Size(max = 1024, message = "user.users.redirect.url.max.length.error")
    @NotBlank(message = "user.users.redirect.url.not.null")
    @Schema(description = "认证结束后重定向的回调链接地址。最长长度1024位", requiredMode = Schema.RequiredMode.REQUIRED)
    private String redirectUrl;
}
